package com.elink.enginerring.redis;

import redis.clients.jedis.Jedis;

import com.elink.enginerring.common.Constant;

public class JedisUtil {
	/**
	 * 根据userId将  loginuser保存到redis里
	 * @param token
	 * @param filed
	 * @param obj
	 */
//	public static void putUserIdUserMap(String filed, LoginUser loginUser) {
//		Jedis jedis = MyJedis.getJedisInstance();
//		jedis.hset(Constant.redis_login_user_cache, filed, loginUser.toString());
//		MyJedis.returnJedis(jedis);
//	}
	
	/**
	 * 根据userId 取出   loginuser 对象
	 * @param token
	 * @return
	 */
	public static String getUserByUserIdMap(String userId) {
		Jedis jedis = MyJedis.getJedisInstance();
		String loginUser = jedis.hget(Constant.redis_login_user_cache, userId);
		MyJedis.returnJedis(jedis);
		return loginUser;
	}
	
	/**
	 * 根据userId 删除 loginuser对象
	 * @param userId
	 */
	public static void delUserByUserId(String userId) {
		Jedis jedis = MyJedis.getJedisInstance();
		jedis.hdel(Constant.redis_login_user_cache, userId);
		MyJedis.returnJedis(jedis);
	}
	
	/**
	 * 存入token-userId的map
	 * @param jpushKey
	 * @param phone
	 */
	public static void  putTokenUserIdMap(String token,String userId){
		Jedis jedis=MyJedis.getJedisInstance();
		jedis.hset(Constant.redis_token_userId_key,token, userId);
		MyJedis.returnJedis(jedis);
	}
	
	/**
	 * 根据token 获取 userId
	 * @param userId
	 * @return
	 */
	public static String getUserIdByToken(String token){
		Jedis jedis=MyJedis.getJedisInstance();
		String userId = jedis.hget(Constant.redis_token_userId_key, token);
		MyJedis.returnJedis(jedis);
		return userId;
	}
	
	/**
	 * 根据token 删除  token-userId map
	 * @param token
	 * @param filed
	 */
	public static void delTokenIdMapByToken(String token) {
		Jedis jedis = MyJedis.getJedisInstance();
		jedis.hdel(Constant.redis_token_userId_key, token);
		MyJedis.returnJedis(jedis);
	}
	
	/**
	 * 存入phone-checkcode的map
	 * @param jpushKey
	 * @param phone
	 */
	public static void  putPhoneCheckcodeMap(String phone,String checkcode){
		Jedis jedis=MyJedis.getJedisInstance();
		jedis.hset(Constant.redis_phone_checkcode_key,phone, checkcode);
		MyJedis.returnJedis(jedis);
	}
	
	/**
	 * 根据phone 获取 checkcode
	 * @param userId
	 * @return
	 */
	public static String getCheckcodeByPhone(String phone){
		Jedis jedis=MyJedis.getJedisInstance();
		String checkcode = jedis.hget(Constant.redis_phone_checkcode_key, phone);
		MyJedis.returnJedis(jedis);
		return checkcode;
	}
}
